home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_11_01
/
1101056a
< prev
next >
Wrap
Text File
|
1992-11-07
|
1KB
|
49 lines
#if !defined SERIAL_H
#define SERIAL_H
#include <iostream.h>
class ComBuffer; // forward declaration
// This class represents everything needed for the
// template parameter. It has a default constructor,
// open, close, read, write, seek, and status.
class SerialStream {
public:
// Default constructor. Initialize an unopened stream
SerialStream()
: port(-1)
{
}
// Destructor. calls close.
~SerialStream()
{
close();
}
// The open function sets up the default serial port
// parameters, and hook up the interrupts. The name
// is check for "COM1" and "COM2". mode and prot are
// ignored.
int open(const char *name, int mode, int prot);
// Read fills buf with len characters from the
// circular buffer. This class and any class that
// cannot seek should be unbuffered, so read typically
// asks for one character at a time.
int read(char *buf, size_t len);
// Write sends the characters in buf to the port.
int write(char *buf, size_t len);
// Seek is a dummy function and always retruns error.
long seek(long, ios::seek_dir) { return -1; }
// close set the port number to -1 for open testing.
int close();
// This function is the status function.
operator const void *() { return port == -1 ? 0 :
this; }
private:
int port;
ComBuffer *buffPtr;
};
#endif